#ifndef __WDGT_H__
#define __WDGT_H__
#include "gd32f30x.h"

#define USE_FWDGT 1   // 是否使用独立看门狗
#define USE_WWDGT 1   // 是否使用窗口看门狗


#if USE_FWDGT
// 喂狗时间: 0-2s
#define  FWDGT_PRE           40000UL    						     //独立看门狗主频
#define  FWDGT_PRESCALER     FWDGT_PSC_DIV64    		     //独立看门狗分频系数
#define  FWDGT_DES_1_TIME    (FWDGT_PRE/64)   	  	     // 独立看门狗计数器减一的时间  1.6ms
#define  FWDGT_COUNTER       FWDGT_DES_1_TIME*50         // 计数器的值 范围 0-4095  
void FWDGT_config(void);
void FWDGT_feed(void);
#endif

#if USE_WWDGT  
// (60MHz/4096)/4 = 3662Hz (~273 us)
// 喂狗时间: 1.99 < duration < 17.472ms
#define WWDGT_COUNTER       127                      // 0~127 计数器初始值 一般为计数器最大值
#define WWDGT_WINDOW        120                      // 0~127 窗口值
#define WWDGT_PRESCALER     WWDGT_CFG_PSC_DIV4      // 分频系数
void WWDGT_config(void);
void WWDGT_feed(void);
#endif

#endif // __WDGT_H__

